Systems and methods for signature-based thermostat control

ABSTRACT

A system includes a thermostat that controls a heating, ventilation, and cooling (HVAC) system of a structure in accordance with a signature-based temperature program. The thermostat includes one or more sensors configured to collect occupant activity data, a network interface configured to communicate with at least one online resource, a memory configured to store a signature-based temperature model, and a processor. The processor is configured to determine a temperature to implement from an output of the signature-based temperature model, wherein a current value of the at least one model input and a current measure of occupant activity are provided as inputs to the signature-based temperature model. The processor is further configured to provide control signals to the HVAC system to implement the determined temperature.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Application No. 61/917,533, entitled “SYSTEMS AND METHODS FOR SIGNATURE-BASED THERMOSTAT CONTROL,” filed Dec. 18, 2013, which is herein incorporated by reference in its entirety for all purposes.

BACKGROUND

The present disclosure relates generally to heating, ventilation, and cooling (HVAC) systems that are communicatively coupled to, and controlled by, programmable thermostats. Such programmable thermostats generally include a memory that stores instructions, as well as a processor that executes the stored instructions, in which the instructions dictate suitable control signals that should be supplied to the HVAC system to implement a particular temperature program. More specifically, the present disclosure relates to temporarily or permanently modifying a time-based temperature program of a programmable thermostat based on changes in the type or degree of observed or anticipated occupant activity. Additionally, the present disclosure relates to determining and implementing an activity-based temperature program that a programmable thermostat may use to control a HVAC system based on a type or degree of observed or anticipated occupant activity, rather than according to a time-based schedule.

This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.

Thermostatically controlled HVAC systems are ubiquitous in both residential and commercial structures. Classical non-programmable thermostats generally allow a user to specify a single setpoint temperature, for example, using a dial of an analog thermostat or the pushbuttons of a digital thermostat. In operation, the thermostat controls the HVAC system in a manner that maintains the current ambient temperature within a predetermined maintenance band around the setpoint temperature. This maintenance band usually includes a lower maintenance band temperature equal to the setpoint temperature minus about one degree Fahrenheit and an upper maintenance band temperature equal to the setpoint temperature plus about one degree Fahrenheit. In a heating mode of operation, the thermostat may activate the HVAC system heating function to heat the structure when the ambient temperature falls below the lower maintenance band temperature, and then may deactivate the HVAC system heating function once the ambient temperature rises above the upper maintenance band temperature. In a cooling mode of operation, the thermostat may activate the HVAC system cooling function to cool the structure when the ambient temperature rises above the upper maintenance band temperature, and then may deactivate the HVAC system cooling function once the ambient temperature falls below the lower maintenance band temperature.

Certain programmable digital thermostats may include a clock element and may provide an interface to enable a user to provide a particular schedule for operating the HVAC system. For example, certain programmable digital thermostats may allow a user to specify temperature settings directed more toward occupant comfort during certain parts of the day (e.g., between 7:00 AM-9:00 AM and between 5:00 PM-10:00 PM), and to specify temperature settings directed more toward energy savings during other parts of the day (e.g., between 9:00 AM-5:00 PM and 10:00 PM-7:00 AM). By way of example, such a programmable digital thermostat may allow a user to specify, for the winter season, a heat setpoint temperature of 75 degrees Fahrenheit (° F.) between 7:00 AM-9:00 AM (e.g., for greater occupant comfort while the occupant gets out of bed and gets ready for work), a heat setpoint temperature of 62° F. between 9:00 AM-5:00 PM (e.g., for greater energy savings while the occupant is away at work), a heat setpoint temperature of 73° F. between 5:00 PM-10:00 PM (e.g., for greater occupant comfort as the occupant is at home during the evening), and a heat setpoint temperature of 66° F. between 10:00 PM-7:00 AM (e.g., for greater energy savings while the occupant is asleep).

Additionally, HVAC systems may be generally responsible for a substantial portion of the power consumption of a residential or commercial structure, especially in locales with extreme hot or cool environments. In certain situations, this power consumption may be further exacerbated when an occupant persistently adjusts the thermostat based on his or her perception of the internal temperature of the structure. Accordingly, it may be desirable to reduce an amount of time that the HVAC system is actively heating or cooling the structure in order to reduce power consumption of the HVAC system while still addressing the temperature preferences of the occupant.

SUMMARY

Certain embodiments commensurate in scope with the originally described subject matter are summarized below. These embodiments are not intended to limit the scope of the claims, but rather these embodiments are intended only to provide a brief summary of possible examples in accordance with the present disclosure. Indeed, the present disclosure may encompass a variety of forms that may be similar to or different from the embodiments set forth below.

Present embodiments are directed toward systems and methods for constructing and implementing temperature programs to control the operation of a HVAC system of a structure. In particular, present embodiments enable the implementation of a signature-based temperature program in which a suitable temperature to implement is not selected based on a schedule, but rather is selected based on one or more pieces of information that are indicative of the current state of the environment associated with the structure and/or the current state of one or more occupants of the structure. As used herein, a “signature-based temperature program” is a temperature program in which various pieces of current environment and/or occupant state information are provided as inputs to a signature-based temperature model and, as a result, the desired temperature is output from the signature-based temperature model. As used herein, a “signature-based temperature model” is a statistical or probability model that correlates desired HVAC temperature preferences with a body of historical environment and/or occupant activity information. Accordingly, the signature-based temperature program determines a suitable temperature to implement based on a particular set of current model input values (i.e., a signature) and/or current occupant activity measurements, rather than based on a time-based schedule.

As discussed below, present embodiments enable a processor to generate a signature-based temperature model using data gleaned from a number of sources, including existing time-based temperature programs (i.e., temperature setpoint schedules) and various pieces of historical environment and/or occupants state information (i.e., model inputs) for use in generating the signature-based temperature model. For example, in certain embodiments, the processor may collect temperature setpoint schedules from one or more thermostats of one or more structures. Further, the processor may receive various pieces of information (i.e., model inputs) that describe past events or conditions that may have directly or indirectly affected occupant temperature preferences, such as occupant activity data, weather/emergency conditions, utility price and performance conditions, stock market conditions, and so forth, along with the times that the events or conditions occurred.

Accordingly, in certain embodiments, the processor may generate the signature-based temperature model by correlating the temperatures preferences of one or more time-based temperature programs with the various historical values of the model inputs, based on the time of occurrence, and identifying one or more trends. As such, present embodiments enable the generation of a signature-based temperature model that embodies determined statistical or probabilistic correlations between existing temperature preferences and various model input values. Further, present embodiments enable the implementation of a signature-based temperature program in which a suitable temperature may be determined at any point in time by inputting current values for the model inputs (e.g., current occupant activity, current weather conditions, current utility price, etc.) to the signature-based temperature model.

DRAWINGS

These and other features, aspects, and advantages of the present disclosure will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:

FIG. 1 is a schematic of a structure having a heating, ventilation, and cooling (HVAC) system, in accordance with an embodiment of the present approach;

FIG. 2 is a schematic of an embodiment of a HVAC system;

FIG. 3 is a diagram illustrating certain internal components and certain data inputs of a thermostat controlling the HVAC system, in accordance with an embodiment of the present approach;

FIG. 4 is a flow diagram illustrating an embodiment of a process whereby the thermostat may generate a time-based temperature program;

FIG. 5 is an embodiment of the time-based temperature program generated by the thermostat according to the process of FIG. 4;

FIG. 6 is a diagram illustrating collection and transmission of thermostat data by a plurality of thermostats, in accordance with an embodiment of the present approach;

FIG. 7 is a diagram illustrating inputs utilized in the generation of a signature-based temperature model, in accordance with an embodiment of the present approach;

FIG. 8 is a flow diagram illustrating an embodiment of a process by which a processor of a thermostat may construct a signature-based temperature model;

FIG. 9 is a flow diagram illustrating an embodiment of a process by which a processor of a thermostat service may construct one or more signature-based temperature models using thermostat data from a plurality of thermostats; and

FIG. 10 is a flow diagram illustrating an embodiment of a process by which the processor of the thermostat may implement a signature-based temperature program based on a generated signature-based temperature model.

DETAILED DESCRIPTION

One or more specific embodiments will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure. The subject matter of the instant disclosure is related to the subject matter of the following commonly assigned applications, each of which is incorporated by reference herein: U.S. Ser. No. 13/632,041 filed Sep. 30, 2012 (Ref No. NES0162-US); U.S. Ser. No. 13/632,070 filed Sep. 30, 2012 (Ref No. NES0234-US); and U.S. Ser. No. 13/864,929 filed Apr. 17, 2013 (Ref. No. NES0334-US).

When introducing elements of various embodiments of the present disclosure, the articles “a,” “an,” and “the” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. Additionally, it should be understood that references to “one embodiment” or “an embodiment” of the present disclosure are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features.

As used herein the term “HVAC” includes systems providing both heating and cooling, heating only, cooling only, as well as systems that provide other occupant comfort and/or conditioning functionality such as humidification, dehumidification and ventilation. As used herein the term “residential” when referring to an HVAC system means a type of HVAC system that is suitable to heat, cool and/or otherwise condition the interior of a building that is primarily used as a single family dwelling. An example of a cooling system that would be considered residential would have a cooling capacity of less than about 5 tons of refrigeration (1 ton of refrigeration=12,000 Btu/h). As used herein the term “light commercial” when referring to an HVAC system means a type of HVAC system that is suitable to heat, cool and/or otherwise condition the interior of a building that is primarily used for commercial purposes, but is of a size and construction that a residential HVAC system is considered suitable. An example of a cooling system that would be considered residential would have a cooling capacity of less than about 5 tons of refrigeration. As used herein the term “thermostat” means a device or system for regulating parameters such as temperature and/or humidity within at least a part of an enclosure. The term “thermostat” may include a control unit for a heating and/or cooling system or a component part of a heater or air conditioner. As used herein the term “thermostat” can also refer generally to a versatile sensing and control unit (VSCU unit) that is configured and adapted to provide sophisticated, customized, energy-saving HVAC control functionality while at the same time being visually appealing.

Additionally, as used herein in the context of thermostat schedules, the term “temperature setpoint” is used to describe piece of data stored in a memory of the thermostat that has an associated temperature (e.g., the temperature that the thermostat seeks to provide) and an associated time (e.g., the time at which the temperature setpoint should take effect). As such, the term “implement”, as used herein with respect to a temperature setpoint, generally refers to the thermostat controlling the HVAC system (e.g., activating or deactivating one or more heating or cooling stages of the HVAC system) in a suitable manner to provide the temperature associated with the temperature setpoint. It may also be appreciated that the term “temperature setpoint,” as used herein in the context of a signature-based temperature program, may describe a piece of data stored in a memory that includes an associated temperature (e.g., the temperature that the thermostat seeks to provide) but lacks an associated time, since the associated temperature may be responsively implemented by the HVAC system based on one or more model input values.

As mentioned above, it may be generally desirable to reduce power consumption of a HVAC system of a particular structure. One way of generally achieving this reduction is to implement a temperature program that is based on a statistical model, instead of a time-based schedule. For example, as presently disclosed, a processor of a thermostat may control a HVAC system of a structure according to a signature-based temperature program that is based on a signature-based temperature model, rather than according to a time-based temperature program. As discussed in detail below, in certain embodiments, the signature-based temperature model may be constructed based on thermostat data (e.g., data collected by a single thermostat, by a group of nearby or similar thermostats, or by other sensors) as well as historical values of plurality of model inputs. As discussed below, the thermostat data includes occupant temperature preferences (e.g., temperature setpoint schedules), and also may include occupant activity data and classification data as well. As also discussed below, the plurality of model inputs may generally describe certain events or conditions that might directly or indirectly influence occupant temperature preferences (e.g., outdoor temperature, outdoor humidity, sunlight levels, air quality, time of day, time of month, time of year, price of power, stock market performance, and so forth). Accordingly, the thermostat may utilize the signature-based temperature model to statistically determine and implement temperature setpoints that are derived from the temperature preferences of occupants (e.g., occupants of the structure and/or occupants of nearby or similar structures) relative to current occupant activities (e.g., particular types or degrees of occupant activity and/or changes between different types or degrees of occupant activity) and/or current values of other model inputs. As such, the disclosed signature-based temperature program may enable the processor of the thermostat to, with little to no training, implement a signature-based temperature program that is based on the temperature preferences that other users (e.g., occupants of nearby or similar structures) tend to have in response to or during certain events or conditions, as described by occupant activity measurements and/or the current values of the various model inputs.

With the foregoing in mind, FIG. 1 illustrates an example of a structure 10 having a HVAC system 20, in accordance with embodiments of the present approach. In particular, the structure 10 illustrated in FIG. 1 is a “smart” residential dwelling that includes a number of “smart” features (e.g., sensors, processors, automation devices, and so forth) that may enable devices of the structure 10 (e.g., lights, door locks, appliances, etc.) to operate in an automated manner. For example, the structure 10 may include a controller 15, which may be part of a home automation system for controlling one or more features of the structure 10. For example, the illustrated “smart” structure 10 may include a plurality of sensors 12 (e.g., sensors 12A-J, discussed in greater detail below) and a plurality of light fixtures 14 (e.g., light fixtures 14A-14J) that may be communicatively coupled to a controller 15. Further, the controller 15 may include a processor programmed to utilize the inputs from the plurality of sensors 12 to determine occupancy of a particular portion of the structure 10 and programmed to only activate a portion of the plurality of light fixtures 14 that are positioned in the occupied portion of the structure 10. It may be appreciated that the light fixtures 14 are merely provided as an example, and that, in certain embodiments, the controller 15 may be programmed to control any feature (e.g., lighting, sound systems, window shades, appliances, etc.) of the structure 10 in an automated fashion. In certain embodiments, the controller 15 may be implemented on a portable computing device, such as a tablet or a smart phone. In certain embodiments, the controller 15 may be implemented by a wall-mounted device (e.g., like the controller 15 of FIG. 1), in part, and by a portable computing device, such as a tablet of smart phone, in part. As set forth below, in certain embodiments, thermostats 16A-B that control the HVAC system 20 may be communicatively coupled to or integrated with one or more features of the “smart” structure 10, such as the sensors 12A-J and/or the controller 15, to receive information regarding different types or levels of occupant activity for the structure 10. For example, in certain embodiments, the thermostats 16 may determine how to control the HVAC system 20 based in part on input from the controller 15, while, in other embodiments, the thermostats 16 and the controller 15 may cooperate to jointly decide how to control the HVAC system 20 of the structure 10. In certain embodiments, the presently disclosed approach may be implemented in commercial and residential structures that lack one or more of the described “smart” features (e.g., sensors 12A-J, controller 15). For such embodiments, as discussed below, the thermostats (e.g., thermostats 16A and/or 16B) may themselves include one or more sensors (e.g., passive infra-red sensors, ultrasound sensors, vibration sensors, etc.) that are able to detect or measure different types or levels of occupant activity for the structure 10. Examples of thermostats including such sensors for detecting occupant activity are disclosed in U.S. Pat. No. 8,622,314, which is incorporated by reference herein in its entirety for all purposes. For example, the thermostats 16 may be Learning Thermostats® and the sensors 12 may be Nest Protect® smoke detectors, both available from Nest Labs of Palo Alto, Calif.

The HVAC system 20 illustrated in FIG. 1 includes an interior unit 22 and an exterior unit 24 and is controlled by the thermostats 16A and 16B, which are illustrated as wall-mounted devices. As discussed in detail below with respect to FIG. 2, the interior unit 22 and the exterior unit 24 of the HVAC system 20 include a number of components that cooperate to condition (e.g., cool, heat, humidify, dehumidify, ventilate, etc.) interior portions of the structure 10 based on control signals supplied by the thermostats 16A and 16B. It should be appreciated that the HVAC system 20 illustrated in FIG. 1 is merely provided as an example, and the present approach is also applicable to more complicated HVAC systems having any suitable number of thermostats 16, interior units 22, exterior units 24 to manage the temperature of the structure 10. Further, it should be appreciated that, while certain descriptions and examples set forth below may describe the activities of a single occupant for simplicity sake, embodiments of the present approach are applicable to any structure 10 having one or more occupants at particular times.

In addition to the HVAC system 20, the “smart” residential structure 10 illustrated in FIG. 1 may include other systems (e.g., automation systems, security systems, power management systems, and so forth) that may be communicatively coupled to the HVAC system 20 to better manage the temperature of the structure 10. For example, as set forth above, in certain embodiments, the controller 15 may be a controller for a home automation system that may manage the lighting (e.g., light fixtures 14) throughout the structure 10. The home automation systems may, additionally or alternatively, include other “smart” appliances (e.g., an automated pool heater 25, an automated garage door system 26, and automated lawn watering system 27, automated front door locking devices 28, and so forth) to allow an occupant to monitor, manage, or control systems and components of the structure 10. In other embodiments, the controller 15 may, additionally or alternatively, be a controller for a home security system that may include the sensors 12 as well as other security features (e.g., window sensors 30, door entry sensors 32, and so forth) to allow an occupant to manage security features of the structure 10. Additionally, in certain embodiments, the controller 15 may be communicatively coupled to the thermostats 16A and 16B to exchange information about activities of occupants and/or devices of the structure 10.

Further, the “smart” residential structure 10 illustrated in FIG. 1 has a power management system that includes the “smart” power meter 34, which may provide information to the “smart” appliances associated with the structure 10 (e.g., the thermostats 16, refrigerator 36, dishwasher 38, electric vehicle (EV) 39, EV charging station 40, water heater 42, exercise equipment 43, washer 44, dryer 46, television 47, or any other suitable “smart” appliance of the structure 10) regarding the current price of power, the current load on the power grid, power usage statistics of the structure 10, and so forth, such that the “smart” appliances may operate only at particular times to reduce power costs and/or improve overall efficiency of the structure 10. Accordingly, one or more components of each of the described control systems (e.g., a home automation system, a home security system, etc.) of the structure 10 may be communicatively coupled (e.g., via a wireless or wired networking interface, discussed in detail below) to at least one thermostat 16 of the HVAC system 20 to provide data inputs to a processor of the thermostat 16 to be used in determining and implementing temperature setpoints, as discussed in detail below. It may be appreciated that, in certain embodiments, one or more of the components of the structure 10, such as the sensors 12 discussed in detail below, may be directly coupled to, or part of, the HVAC system 20 (e.g., rather than being part of another system of the structure 10 that is indirectly coupled to the HVAC system 20). Furthermore, the sensors 12 may be “stand alone” devices, as depicted, or the sensors 12 may be incorporated into any of the devices used in the “smart” residential structure 10, such as smoke detectors, thermostats 16, refrigerator 36, dishwasher 38, EV 39, EV charging station 40, water heater 42, etc.

With the foregoing in mind, the sensors 12 distributed throughout the structure 10 illustrated in FIG. 1 may each include a number (e.g., 1, 2, 3, 4, 5, or more) sensing devices capable of performing one or more measurements of the surrounding environment in and around the structure 10. As set forth in detail below, the measurements performed by these sensors 12 provide inputs (e.g., directly or indirectly) to the HVAC system 20, and potentially other systems (e.g., automation systems, security systems, etc.) of the structure 10, that may be used to determine how many occupants may be in the structure 10, where occupants may be located within the structure 10, and what types and/or levels of activity these occupants may be performing For example, in certain embodiments, the sensors 12 may include a thermal or acoustic motion sensing device capable of detecting occupancy (e.g., presence of one or more occupants) and/or occupant activities (e.g., movement or actions of the one or more occupants). By further example, in certain embodiments, the sensors 12 may include an acoustic monitoring device, such as a microphone, capable of measuring sounds of different intensities and/or frequencies as a measure of occupancy and/or particular occupant activities within portions of the structure 10. In certain embodiments, the acoustic monitoring device of the sensors 12 may be paired with an ultrasonic emitter to enable the acoustic monitoring device to perform sonar measurements as a measure of occupancy and/or occupant activities within portions of the structure 10.

By further example, in certain embodiments, the sensors 12 may include visible or infra-red (IR) light sensing devices (e.g., passive IR sensors) capable of measuring occupancy and/or occupant activity within portions of the structure 10. For example, in certain embodiments, the sensors 12 may include an IR sensing device that is capable of measuring a temperature of an occupant to provide indication of a level of activity of the occupant. In certain embodiments, the sensors 12 may include cameras (e.g., visible light and/or IR cameras, such as cameras of a security system) capable of capturing visual images of the occupant that may analyzed (e.g., by the controller 15 or the thermostats 16) to determine occupancy and/or occupant activities in portions of the structure 10. For example, in certain embodiments, video or image data from such visible light or IR camera sensors 12 may be analyzed using any number of facial, voice, and/or gait recognition algorithms or techniques.

In certain embodiments, the sensors 12 may include vibration sensing devices capable of subtle movements within the structure 10 as an indication of occupancy and/or occupant activity within portions of the structure 10. The sensors 12 may, in certain embodiments, include air pressure sensors capable of measuring air pressure changes (e.g., caused by opening and closing of doors of the structure 10, caused by respiration and/or motion of the occupants) as an indication of occupancy and/or occupant activity within portions of the structure 10. In certain embodiments, the sensors 12 may include gas analysis devices capable of detecting presence or levels of smoke, carbon monoxide, water vapor, methane, and/or carbon dioxide, which may provide a measure of occupancy and/or particular occupant activities (e.g., cooking, exercising, smoking, etc.) within portions of the structure 10. Additionally, in certain embodiments, the sensors 12 may include temperature sensing devices (e.g., thermocouples or IR sensors) capable of measuring one or more temperatures within the structure 10, which may also provide a measure of occupancy and/or occupant activity within portions of the structure 10.

Additionally, in certain embodiments, the sensors 12 may include flow sensing devices that may, for example, be coupled to the plumbing of shower 54, the bathroom sink 56, the washing machine 58, the dishwasher 38, the kitchen sink 58, the water heater 40, toilets (not shown), and so forth, to provide a measure of occupancy and/or occupant activities (e.g., bathing, washing dishes, washing clothes, flushing toilets, etc.) within particular portions of the structure 10. Similarly, in certain embodiments, the sensors 12 may include flow sensing devices coupled to one or more natural gas conduits of the structure 10 (not show) that, for example, may be coupled to the range 60, the water heater 40, the dryer 46, and/or other components of the structure 10. Such flow sensors may also provide a measure of occupancy and/or certain occupant activities (e.g., bathing, washing dishes, cooking, etc.) within particular portions of the structure 10

In certain embodiments, the sensors 12 may include electromagnetic sensing devices that are capable of measuring electromagnetic signals. For example, in certain embodiments, an electromagnetic sensing device of the sensors 12 may measure the electrical magnetic interference (EMI) or electrical noise generated by the operation of electronic devices, which may provide a measure of occupancy and/or occupant activities (e.g., drying hair with a hair dryer, preparing toast using a toaster oven, heating coffee in a microwave, and so forth) in a portion of the structure 10. In certain embodiments, the electromagnetic sensing device may measure an EMI signal generated in free space (e.g., through the air) or an EMI signal generated within the electrical circuit (e.g., electrical noise on the circuit being used) a result of the operation of the electrical device in a portion of the structure 10. In certain embodiments, the sensors 12 may include electromagnetic sensing devices capable of measuring the load on an electrical circuit of the structure, which may provide another measure of occupancy and/or occupant activities (e.g., activation of the dryer 46, activation of the dishwasher 38, activation or deactivation of the EV charging station 40) in a portion of the structure 10.

By further example, in certain embodiments, the electromagnetic sensing devices of the sensors 12 may measure one or more attributes of a wireless communication signal, such as a wireless signal generated by a cellular phone 48, a computer 50, and/or a router 52 (e.g., a wireless router or wireless access point). By specific example, the sensors 12 may detect movement of the cellular phone 48 throughout the structure 10 (e.g., in the pocket or purse of the occupant) by measuring a progressively changing intensity of one or more wireless communication signals (e.g., cellular signals, WiFi data signals, Bluetooth® signals, etc.) emitted by the cellular phone 48 as it is carried through the structure 10 by the occupant. In certain embodiments, the sensors 12 may instead measure the totality of wireless communication signals currently being generated as an indication of occupancy and/or occupant activities (e.g., checking email, web surfing, streaming media, etc.) within a portion of the structure 10. In still other embodiments, the sensors 12 may continually or intermittently monitor one or more wireless communication signals (e.g., wireless signals generated by the router 52) and may provide a measure of occupancy and/or occupant activity based on distortions to these signals that are caused by the motion or activity of the occupant. In another embodiment, the sensors 12 may instead measure a total wireless signal or a total wireless signal of a particular channel of a wireless network (e.g., 802.11 WiFi channel 6) as an indication of occupancy or occupant activity within the structure 10. It may be appreciated that such an embodiment may enable a level of wireless network traffic to be gauged by sensors 12 that are not necessarily attached to (e.g., authenticated with) the wireless network.

As mentioned above, the HVAC system 20 may generally function to control the environment, such as the temperature and/or humidity, inside the structure 10. FIG. 2 is a schematic illustrating certain components of an embodiment of the HVAC system 20, which may be a residential or light commercial structure HVAC system 20. As discussed above, one or more thermostats (e.g., thermostat 16A and thermostat 16B) are coupled directly or indirectly to the HVAC system 20 to control its operation. By specific example, each of the thermostats 16A and 16B may be a Learning Thermostat™ available from Nest Labs of Palo Alto, Calif. As illustrated in FIG. 2, a first or primary thermostat 16A may be directly coupled to a control unit 70 of the internal unit 22 of the HVAC system 20 (e.g., via one or more signal wires 72), such that the thermostat 16A may provide control signals to the control unit 70 to initiate heating or cooling by the illustrated HVAC system 20. Additionally, the embodiment of the HVAC system 20 illustrated in FIG. 2 includes a second or secondary thermostat 16B that may be communicatively coupled to the primary thermostat 16A (e.g., via wireless communication link 74) such that the primary and secondary thermostats 16A and 16B may cooperate to determine the appropriate control signals to be provided to the control unit 70 to affect heating or cooling of the structure 10.

Additionally, for embodiment of the HVAC system 20 illustrated in FIG. 2, the interior unit 22 of the HVAC system 20 includes cooling coils 76, heating coils 78, as well as a fan 80. During operation, the fan 80 directs an air flow 82 to enter the HVAC system 20 via the return air duct 84 and to traverse the filter 86. From there, the fan 80 directs the air flow 82 into the interior unit 22, across the heating coils 78 and cooling coils 76, and out of the interior unit 22, where the airflow 82 is subsequently distributed throughout the structure 10 by ducts 88 and registers 90. In the case of heating, the airflow 82 may be warmed when moving across the heating coils 78 of the interior unit 22 of the HVAC system 20.

In the case of cooling, heat may be removed from the airflow 82 by the cooling coils 76 of the interior unit 22 and transferred to a coolant disposed inside of the cooling coils 76. The coolant may subsequently be directed to a heat exchanger 92 of the exterior unit 24 of the HVAC system 20 via a first conduit 94. After cooling within the heat exchanger 92, the coolant may subsequently be directed to the compressor 96 of the exterior unit 24 of the HVAC system 20 for compression. Then, the compressed coolant may be directed back to the cooling coils 76 of the interior unit 22 via the conduit 98 to once again cool the airflow 82. It should be appreciated that the HVAC system 20 illustrated in FIG. 2 is provided merely as an example and that other embodiments may include additional components (e.g., humidifiers/dehumidifiers, furnaces, air handlers, fans, and so forth) and/or additional features (e.g., multi-stage heating and/or cooling) without negating the effect of the present approach.

As set forth above, the measurements performed by the sensors 12 may be consumed by the thermostat 16 of the HVAC system 20 to determine occupancy and/or occupant activities within portions of the structure 10. In certain embodiments, the thermostat 16 may continuously or intermittently determine, for example, how many occupants may be present within the structure 10, where the occupants may be located within the structure 10, and the types or levels of the activities the occupants. In certain embodiments, the thermostat 16 may also determine occupancy and/or occupant activity using other data inputs, discussed below. As set forth below, the thermostat 16 may later correlate this occupant activity data, as well as other model inputs, with temperature program data to construct a signature-based temperature model. With the foregoing in mind FIG. 3 is a schematic illustrating certain internal components of an embodiment of the thermostat 16 as well as certain data inputs 110 that may be used by the thermostat 16.

The illustrated embodiment of the thermostat 16 of FIG. 3 includes a processor 112 configured to execute instructions (e.g., software or firmware) stored in a memory 114 to control operation of the thermostat 16 and to generally manage the temperature of the structure 10 according to the preferences of the occupant. The thermostat 16 illustrated in FIG. 3 also includes communication circuitry 116 (e.g., network interface circuitry) that, as discussed in detail below, is configured to enable the thermostat 16 to communicate with other devices and systems. The illustrated embodiment of the thermostat 16 also includes input devices 118 (e.g., knobs, wheels, touchscreens, buttons, dials, or other suitable input devices) to enable a user to directly interface with the thermostat 16 to provide, for example, occupant temperature preferences. The illustrated thermostat 16 further includes display circuitry 120 capable of presenting a graphical user interface (GUI) to display information to the user. Further, the illustrated thermostat 16 also includes a number of (e.g., 1, 2, 3, 4, or more) sensors 122, which may, in certain embodiments, include any combination of the sensors 12 discussed above that may be disposed on or coupled to the thermostat 16. For example, in certain embodiments, the sensors 122 may include one or more of the temperature sensing devices, acoustic sensing devices, visible or IR sensing devices, vibration sensing devices, air pressure sensing devices, or EMI sensing devices discussed above.

The communication circuitry 116 of the thermostat 16 may include various wired and/or wireless networking interfaces that enable the thermostat 16 to receive other data inputs 110. For example, the communication circuitry 116 may include 802.xx (e.g., 802.11 a/b/g/n/ac) wireless networking interface to enable the thermostat 16 to communicatively couple to the router 52, which may be the central internet communication hub for the structure 10. That is, the router 52 may host the computer network of the structure 10 and may provide wired and/or wireless access to the network, as well as the internet, for the devices of the structure 10. Accordingly, the communication circuitry 116 may enable the thermostat 16 to interact with certain online resources 124 (e.g., online thermostat management resources, online temperature setpoint schedule backup resources, historical temperature profile information for the structure 10, and so forth) via its connection to the router 52. It may be appreciated that the network illustrated in FIG. 3 is merely provided as an example and that, in other embodiments, the thermostat 16 may directly communicate with the illustrated devices without the router 52 (e.g., in a wireless mesh network, or similar topology).

Additionally, being coupled to the computer network of the structure 10 (e.g., hosted by the router 52) may enable the thermostat 16 interact with certain data inputs 110 (e.g., data sources) also coupled to the router 52 in order to detect or determine occupancy and/or occupant activity in the structure 10. For example, as discussed above with respect to FIG. 1, in certain embodiments the thermostat 16 may receive information from automation systems 126, security systems 128, and/or power management systems 130 to determine information relevant to occupancy and/or occupant activity within portions of the structure 10. Also, as mentioned above, in certain embodiments the thermostat 16 may receive information directly from sensors 12 positioned throughout the structure 10 relevant to occupancy and/or occupant activity within portions of the structure 10. Further, one or more of the “smart” appliances 132 of the structure 10 discussed above may be also coupled to the router 52, which may enable the thermostat 16 to determine information (e.g., modes of operation, operation schedules, access or usage schedules, maintenance schedules, and so forth) for these appliances that may be used to determine or predict occupancy and/or occupant activity within portions of the structure 10.

Further, as illustrated in FIG. 3, since the thermostat 16 is coupled to the router 52, the thermostat 16 may also detect the presence or activity of certain devices communicating on the computer network hosted by the router 52. For example, in certain embodiments, the thermostat 16 may be able to detect network traffic being generated by a computer 50, cell phone 48, television 47, video game consoles 136, streaming media devices 138, or any other networked device of the structure 10, which may be used as a measure of occupancy and/or occupant activity within portions of the structure 10. By specific example, in certain embodiments, a spike in network traffic by one or more of the devices listed above may indicate that an occupant is actively using a device (e.g., television 47) that may be associated with a particular portion of the structure 10 (e.g., the living room or den). Further, in certain embodiments, the thermostat 16 may receive information regarding the current location (e.g., global positioning system (GPS) coordinates or cellular phone location coordinates) of the occupant from one or more data inputs 110 (e.g., the cellular phone 48, the computer 50, a navigation system of the EV 39), which may be use to determine present activity and predict future activity of the occupant. For example, the thermostat 16 may determine that the occupant is present or away or to predict when the occupant may arrive at the structure 10 based on such occupant location information.

Furthermore, being coupled to the computer network of the structure 10 may also enable the thermostat 16 to interact with certain data inputs 110 to predict future occupancy and/or occupant activities in the structure 10. For example, in certain embodiments, an occupant may enable the thermostat 16 to access occupant schedule information from one or more data inputs 110. By specific example, an occupant may maintain an agenda or schedule on the computer 50, on the cellular phone 48, or using an online resource 124, and the occupant may further grant the thermostat 116 access to the occupant's schedule on one or more of these devices or resources. In certain embodiments, the thermostat 16 may be able to access other occupant information from the computer 50, cellular phone 48, and/or online resources 124, such as, for example, the occupant's e-mails, notes, instant messages, to-do lists, or any other suitable data source storing information relevant to predicting future activities of the occupant. For example, in certain embodiments, the thermostat 16 may access a Passbook® app, or another suitable app or application of the cellular phone 48 storing event and travel ticket information, to glean information about future outings and/or travels of the occupant. By further example, in certain embodiments, the thermostat may access one or more scheduled alarms of an alarm application of the cellular phone 48 to glean information useful in predicting when the occupant may wake the following day. Accordingly, the thermostat 16 may utilize one or more of these resources to predict future occupancy and/or occupant activity in the structure 10.

As mentioned above, the thermostat 16 is capable of receiving occupant temperature preferences to construct a time-based temperature program (e.g., a temperature setpoint schedule) for the structure 10. As mentioned above and discussed in greater detail below, while the presently disclosed signature-based temperature program is generally independent of time (i.e., not a time-based program), the disclosed signature-based temperature model may be generated based on temperature preferences gleaned from time-based temperature programs (e.g., temperature setpoint schedules). FIG. 4 is a flow diagram illustrating an embodiment of a process 150 by which the processor 112 of the thermostat 16 may determine a temperature setpoint schedule based on a combination of occupant temperature preferences and collected occupant activity data. It should be appreciated that the illustrated process 150 represents one possibility for how a temperature setpoint schedule may be constructed and, in other embodiments, other methods may be used without negating the effect of the present approach. In certain embodiments, the process 150 may incorporate one or more features of the methods for automated control-schedule acquisition set forth in U.S. Patent No. 8,630,740, which is incorporated by reference herein in its entirety for all purposes.

With the foregoing in mind, the illustrated process 150 of FIG. 4 begins with the processor 112 of the thermostat 16 activating learning mode (block 152). In certain embodiments, the processor 112 may activate learning mode in response to user input (e.g., received from input devices 118). In certain embodiments, the processor 112 of the thermostat 16 may be preprogrammed to begin operation in learning mode by default after installation. While learning mode is activated, the processor 112 may receive (block 154) user input at a particular time requesting a particular temperature. In response, the processor 112 of the thermostat 16 provides control signals (block 156) the HVAC system 20 to adjust a temperature of structure 10 according to the occupant temperature preference. Further, the processor 112 stores (block 158) both the temperature and the time associated with the user input in the memory 114 for trend analysis. Additionally, in certain embodiments, the processor 112 may also collect and store (block 160) occupant activity data around the time associated with the user input for trend analysis.

Throughout learning mode operation, after each user input is received, the processor 112 of the thermostat 16 analyzes (block 162) the time, temperature, and occupant activity data associated with the current user input relative to the time, temperature, and occupant activity data associated with previous user inputs and attempt to identify trends. If the processor 112 identifies (block 164) a trend or correlation between the time, temperature, and occupant activity data associated with the current user input and the time, temperature, and occupant activity data associated with previous user inputs, the processor 112 may create (block 166) or modify a temperature setpoint of the temperature setpoint schedule based on the correlation. For example, when the processor 112 identifies that the occupant has a tendency to request a temperature of about 70° F. at 4:30 PM every Monday, then the processor 112 may create a temperature setpoint having an associated temperature of 70° F. and an associated time of 4:30 PM on Monday. Furthermore, in creating the temperature setpoint, in certain embodiments, the processor 112 may utilize the occupant activity data to identify occupant activity types or degrees that occur around the time (e.g., just prior and just after the time) associated with the temperature setpoint. As discussed in greater detail below, this occupant activity data may be used to define the parameters (e.g., exception time windows, occupant activity indicators) for occupant activity-based exceptions for the created temperature setpoint, as discussed in greater detail below. As indicated by the arrows 165 and 167, blocks 152 through 166 may be repeated with every user input that occurs while the thermostat 16 is in learning mode.

It may be appreciated that, in certain embodiments, the learning mode of the processor 112 may be more aggressive for an initial period of time in order for an initial temperature setpoint schedule to be generated. For example, the processor 112 may initially add a temperature setpoint or change a temperature setpoint of the temperature program after only two instances of a user requesting a particular temperature near the same time of day. Then, after an initial temperature program is generated, the learning mode of the processor 112 may be less aggressive and only modify the temperature setpoint schedule after several deviations (e.g., four or more deviations) from the current temperature program are observed in the user inputs and/or the occupant activity data. In certain embodiments, the thermostat 16 may remain in learning mode and may continue learning the temperature preferences of the occupant throughout operation, albeit in a less aggressive manner than when the learning mode was initially activated. In other embodiments, after a period of time (e.g., a day, week, fortnight, or month) has passed, the processor 112 may deactivate the learning mode of the thermostat 16. In still other embodiments, the processor 112 may deactivate the learning mode of the thermostat 16 in response to user input requesting such deactivation.

FIG. 5 depicts a visual representation of an embodiment of a temperature setpoint schedule 170 such as may be generated as an output of the process 150 illustrated in FIG. 4. The temperature setpoint schedule 170 illustrated in FIG. 5 includes the days of the week 172 on the vertical axis and includes the hours of the day 174 on the horizontal axis. Additionally, the temperature setpoint schedule 170 includes a number of temperature setpoints 176 indicating a particular time and a particular temperature associated with each of the temperature setpoints 176. That is, as illustrated in FIG. 5, the temperature setpoints 176 indicate particular times using their respective positions in the temperature setpoint schedule 170 and indicate particular temperatures using the numerical values respectively displayed by each of the illustrated temperature setpoints 176. Accordingly, as the thermostat 16 is trained according to the temperature preferences of the occupant during learning mode, the thermostat 16 may generate the temperature setpoint schedule 170 and may control operation of the HVAC system 20 to implement the temperature setpoint schedule 170 in an efficient manner.

With the foregoing in mind, it may be appreciated that, in certain embodiments, a plurality of thermostats 16 may be disposed in and control HVAC systems of structures distributed throughout one or more regions (e.g., neighborhoods, towns, districts, cities, states, counties, provinces, countries, hemispheres, time zones, and so forth). Further, as discussed above with respect to FIG. 3, each of these thermostats 16 may be communicatively coupled to one or more online resources 124 (e.g., via the router 52). Turning now to FIG. 6, in certain embodiments, the online resources 124 may include an online thermostat service 180 implemented by one or more processors 182 (e.g., of a server, a server farm, a cluster, another suitable data processing configuration) executing instructions stored in one or more memories 184. The thermostat service 180 may interact with the thermostats 16 to provide additional features or capabilities. For example, in certain embodiments, the thermostat service 180 may enable backups of occupant temperature preference data that may be used to restore damaged or altered occupant temperature preferences or to provide the occupant temperature preferences to a new thermostat for implementation. In certain embodiments, the thermostat service 180 may also provide, for example, an interface whereby a user may access and alter configurations and settings of a thermostat 16 using a networked device (e.g., computer 50 or cellular phone 48). It should be appreciated that these features are merely provided as examples of features of the thermostat service 180 and are not intended to be limiting.

As illustrated in FIG. 6, an example neighborhood 186 is presented in which a number of thermostats 16 are being used to respectively control the HVAC systems of a number of structures. For example, each of the illustrated thermostats 16 of FIG. 6 have been trained (e.g., according to the process 150 illustrated in FIG. 4) and are each implementing a respective temperature setpoint schedule (e.g., similar to the temperature setpoint schedule 170) based on occupant temperature preferences learned by the thermostats 16 during operation. Furthermore, each of the illustrated thermostats 16 of FIG. 6 may, as discussed above with respect to FIG. 3, receive and store information regarding occupancy and/or occupant activity from one or more sensors (e.g., sensors 12 and/or 112) and/or other data inputs 110. Accordingly, as illustrated in FIG. 6, in certain embodiments, each of the thermostats 16 may provide thermostat data 188 to the thermostat service 180 (e.g., via an Internet connection, via router 52). It should be appreciated that, in certain embodiments, portions of the illustrated thermostat data 188 may be delivered to the thermostat service 180 simultaneously or at different times on a continual or intermittent basis.

As illustrated in FIG. 6, the thermostat data 188 may include different types of data. For the illustrated embodiment, the thermostat data 188 includes temperature program data 190, which may include temperature setpoint schedules (e.g., temperature setpoint schedule 170 illustrated in FIG. 5). In certain embodiments, the temperature program data 190 may also include other occupant temperature preferences including, for example, learned exceptions to the temperature setpoint schedule or temperature programs based on occupant activity. In addition to the temperature program data 190, in certain embodiments, the thermostat data 188 may also include occupant activity data 192 that is based on inputs received by each of the thermostats 16 from one or more sensors (e.g., sensors 12 and/or 122) and/or other data inputs 110 regarding occupancy and/or occupant activities within the respective structures. For example, as illustrated in FIG. 6, in certain embodiments the occupant activity data 192 of a thermostat 16 may include one or more of: a number of occupants in a structure, occupant locations within or without the structure, occupant activity levels, computer network traffic, or other suitable measures of occupancy and/or occupant activity. It may be appreciated that the occupant activity data 192 may generally correspond to the temperature program data 190. For example, in certain embodiments, each piece of occupant activity data 192 may correlate or correspond to a temperature setpoint of a temperature setpoint schedule. That is, each piece of occupant activity data may be collected at or near the time associated with a corresponding temperature setpoint.

Additionally, as illustrated in FIG. 6, the thermostat data 188 may also include classification data 194 that may generally define or describe aspects of the thermostat 16, the structure in which the thermostat is installed, and/or one or more of the occupants of the structure. As illustrated, in certain embodiments, the classification data 194 provided by each thermostat 16 may include a location (e.g., geographic region, community, city, state, and/or global positioning system (GPS) coordinates) of the structure in which the thermostat 16 is operating. In certain embodiments, the classification data 194 may also include a thermostat model (e.g., version 1, version 2, etc.), a number of thermostats 16 in the structure 10 (e.g., 1, 2, 3, 4, or more), and/or a type of HVAC system 20 being controlled (e.g., heating only, cooling only, heating and cooling, multi-stage heating and/or cooling, zoned systems, and so forth). Additionally, in certain embodiments, the classification data 194 may include the temperature profile of the structure 10, or a subportion or digest thereof (e.g., a HVAC efficiency value that is based on the temperature profile of the structure 10). Further, in certain embodiments, the classification data 194 may include certain occupant information (e.g., total number of occupants, ages, genders, ethnicities, group affiliations, income range, and so forth). As discussed below, the thermostat service 180 may, in certain embodiments, logically divide the received thermostat data 188 into groups having similar classification data values when constructing signature-based temperature models.

Accordingly, the one or more processors 182 of the thermostat service 180 may receive thermostat data 188 from one or more thermostats 16 and store the received data in the one or more memories 184 for further processing. Turning to FIG. 7, the one or more processors 182 of the thermostat service 180 may be configured to generate a signature-based temperature model 196 based, at least in part, on the received thermostat data 188. For example, in certain embodiments, the thermostat service 180 may be configured to generate a signature-based temperature model 196 based only on the thermostat data 188 received from one or more thermostats 16. That is, in certain embodiments, the one or more processors 182 of the thermostat service 180 may correlate a portion of the occupant activity data 192 with a portion of the temperature program data 190 to generate a signature-based temperature model 196. It may be appreciated that, in other embodiments, the thermostat service 180 may not be used, and instead the processor 112 of the thermostat 16 may perform the actions of thermostat service 180 discussed below (e.g., receive model inputs 200, correlate temperature program data 190 of that thermostat 16 with occupant activity data 192 and/or model inputs 200) to locally generate the signature-based temperature model 196.

For the embodiment illustrated in FIG. 7, the thermostat service 180 receives one or more model inputs 200 that may also be used in the generation of the signature-based temperature model 196. For the illustrated embodiment, the model inputs 200 belong to one of three categories: weather/emergency model inputs 202, utility model inputs 204, and other model inputs 206. It should be appreciated that these three categories are merely provided as non-limiting examples and that, in other embodiments, other model inputs 200 may be used without negating an effect of the present approach. It should also be appreciated that the thermostat service 180 may receive the model inputs 200 from one or more networked computer resources (e.g., online websites or services 124) via a network or Internet connection. It may further be appreciated that, in certain embodiments, as the thermostat service 180 is collecting model inputs 200 to correlate with the thermostat data 188, the thermostat service 180 may limit the collection of model inputs 200 to events or conditions occurring at or near the location of a particular thermostat 16 (e.g., based on the classification data 194 of the thermostat data 188 received from the thermostat 16) and/or to events or conditions occurring at or near the time of a particular temperature preference. In other words, in certain embodiments, the values for the model inputs 200 used in the generation of the signature-based temperature model 196 are historical values that are associated with a particular time in the past that is proximate to a time associated with one or more temperature preferences of the thermostat data 188.

As illustrated in FIG. 7, in certain embodiments, the weather/emergency model inputs 202 may be provided to the thermostat service 180 by one or more weather resources (e.g., weather tracking websites, data feeds, or other suitable online resources 124), emergency communication resources (e.g., online Emergency Alert System (EAS) websites or data feeds), and/or community resources (e.g., city or school websites) automatically or upon request. These weather/emergency model inputs 202 may include, for example, weather conditions 208 (e.g., temperature, humidity, precipitation, air quality, sunlight, and so forth) at particular times. Additionally, the weather/emergency model inputs 202 may include emergency warnings or alerts 210 for fires, volcanic eruptions, blizzards, hurricanes, tornados, flash floods, earthquakes, or other suitable emergency warnings or alerts at particular times. Further, in certain embodiments, the weather/emergency model inputs 202 may include closure notifications 212 for schools, offices, roads, bridges, cities, and so forth at particular times.

Historical values of the weather/emergency model inputs 202 may be correlated with temperature preferences contained in the temperature program data 190 based on when and/or where the weather or emergency event occurred. Certain weather/emergency model inputs 202 (e.g., weather conditions 208, such as temperature, humidity, precipitation, air quality, and sunlight, and emergency warnings or alerts 210, such as alerts of fires, volcanic eruptions, blizzards, hurricanes, tornados, and flash floods) may directly affect occupant temperature preferences since they directly affect (e.g., either providing a warming or cooling effect to) the environment surrounding a structure. Other weather/emergency model inputs 202 (e.g., closure notifications 212 for schools, offices, roads, bridges, cities) may affect the routine or schedule of the occupant, which may indirectly affect occupant temperature preferences. For example, a notification that a school is closed for a day may indirectly affect the temperature preferences of, for example, a mother staying home for the day with a number of children as a result of the school closure.

In certain embodiments, the utility model inputs 204 may be provided to the thermostat service 180 by one or more online utility resources (e.g., websites, data feeds, or other suitable online resources 124) automatically or upon request. For example, the utility model inputs 204 illustrated in FIG. 7 may be provided by a website of a power company. By specific example, the illustrated utility model inputs 204 include power rates 214 at particular times, peak power rates and times 216, and capacity/load 218 of the electrical network or grid at particular times. It may be appreciated that the illustrated utility model inputs 204 are merely provided as non-limiting examples and, in other embodiments, other utility services (e.g., natural gas or water services) may provide one or more utility model inputs 204 for construction of the signature-based temperature model 196.

Historical values of the utility model inputs 204 may be correlated with temperature preferences contained in the temperature program data 190 based on when and/or where certain values (e.g., certain rates, loads, peaks) occur for the utility model inputs 204. For example, the power rate 219 at a particular time may indirectly affect occupant temperature preferences based on how much the occupant is willing to spend to operate the HVAC system 20 at that particular time. By further example, the capacity/load 218 of the electrical network at a particular time may affect the temperature preferences of an occupant that is environmentally conscious since the occupant may prefer the highest levels of comfort only when the demand on the electrical network is low, allowing the electrical network to operate in a more efficient manner.

Additionally, in certain embodiments, other model inputs 206 may be provided to the thermostat service 180 by one or more online resources (e.g., websites, data feeds, or other suitable online resources 124) automatically or upon request. For the illustrated embodiment, the other model inputs 206 include stock market prices 220, roadway traffic congestion 222, airport schedules 224, public transportation schedules 226, and Internet outages 228. For example, in certain embodiments, the thermostat service 180 may receive prices of particular stocks, performance measures of entire markets or exchanges, or other economic indicators (e.g., consumer confidence index, consumer price index, volatility index, unemployment rate, and so forth) at particular times. In certain embodiments, the thermostat service 180 may receive roadway traffic congestion information 222 indicating traffic jams, traffic accidents, road construction, detours, road hazards, etc., at particular times and/or particular locations. In certain embodiments, the other model inputs 206 may include airport schedules 224 and public transportation schedules 226 indicating arrival and departure schedules, delays, cancelations, and so forth at particular times and/or particular locations. Additionally, in certain embodiments, the model inputs 206 may include information regarding Internet outages 228, such as outages of specific Internet services or resources (e.g., email, streaming media service, video conferencing service) or complete outages (e.g., no Internet traffic) at particular times.

Historical values of the other model inputs 206 may be correlated with temperature preferences contained in the temperature program data 190 based on when and/or where certain values (e.g., certain stock prices, transportation schedule events, or levels of traffic) that occur for the other model inputs 206. For example, the other model inputs 206 may include the current price of oil per barrel as an economic input whose fluctuation typically precedes a similar fluctuation in the price of power. As such, the price of oil per barrel at a particular time, for example, may indirectly affect occupant temperature preferences as it may indirectly affect the current and future budget of the occupant. The roadway traffic congestion information 222 at a particular time may indirectly affect the temperature preferences of the occupant, for example, causing the occupant to prefer a cooler temperature upon arriving home after traversing an onerous traffic jam. Airport schedules 224 and/or public transportation schedules 226 may indirectly affect the temperature preferences of the occupant, for example, by affecting the schedule or routine of the occupant. That is, if an airport schedule 224 delay results in the occupant arriving home later than he or she usually arrives during cold weather, the occupant may have a warmer temperature preference than usual as a result. By further example, Internet outages 228 at particular times may indirectly affect occupant temperature preferences by reducing available sedentary activity options (e.g., web surfing, viewing streaming media, online gaming), which may cause the occupant to prefer cooler temperatures while engaging in more energetic activities during the outages.

For the embodiment illustrated in FIG. 7, the thermostat service 180 may receive historical values for the weather/emergency model inputs 202, the utility model inputs 204, and/or the other model inputs 206 from one or more online resources 124. Further, as set forth above, each of the received historical values of the model inputs 200 may be associated with a particular time in the past and/or location that the event or condition described by the particular value of the model input occurred. As such, in certain embodiments, the thermostat service 180 may correlate in time the historical values of the particular model inputs 200 with the temperature program data 190 of the thermostat data 188. That is, a processor (e.g., the one or more processors 182 of the thermostat service 180 or the processor 112 of the thermostat 16) may use proximity between a time associated with a particular model input 200 and a time associated with a temperature setpoint to correlate the particular model input 200 with the particular temperature setpoint. Further, as mentioned above, in certain embodiments, the processor may, additionally or alternatively, correlate in time particular temperature setpoints of the temperature program data 190 with occupant activity data 192 of the thermostat data 188. That is, the processor may, additionally or alternatively, use proximity between a time associated with a particular piece of occupant activity data 192 (e.g., an occupant activity level) and a time associated with a particular temperature setpoint to correlate the particular piece of occupant activity data 192 and the particular temperature setpoint. Subsequently, the processor (e.g., the one or more processors 182 of the thermostat service 180 or the processor 112 of the thermostat 16) may generate the signature-based temperature model 196 using the determined correlations between the occupant temperature preferences (e.g., from the temperature setpoints of the temperature program data 190 of the thermostat data 188), occupant activities (e.g., from the occupant activity data 192 of the thermostat data 188), and/or historical values for the model inputs 200 (e.g., from weather/emergency, utility, or other model input sources).

In certain embodiments, an occupant may be prompted to answer a series of questions in a questionnaire or survey, either using the thermostat 16 or a suitable computer user interface, upon installing the thermostat 16. The received occupant answers may be used to generate some or all of the aforementioned classification data 194. Additionally, this questionnaire may also ask one or more questions that may be used to rank the importance of different model inputs 200 and/or occupant activities to the temperature preferences of the occupants of the structure 10. For example, the questionnaire may ask questions to identify which of the model inputs 200 tend to have stronger effects on the occupant's temperature preferences. By specific example, the questionnaire may ask the occupant to rank how strong of an effect each of the following has on his or her temperature preferences for the structure: (1) current/future weather conditions; (2) season of the year; (3) utility cost; (4) environmental friendliness; (5) current price of fuel; (6) occupant activity level; and (7) occupant travel/work/school schedule. For such embodiments, based upon the occupant's answers, a relative weight (e.g., a weighting factor) may be selected for each of the correlations of the signature-based temperature model, as discussed in greater detail below.

It should be appreciated that the generated signature-based temperature model 196 may generally be a statistically-based or probability-based model. For example, in certain embodiments, the signature-based temperature model 196 may include a machine-learning agent (e.g., a Bayesian network, an artificial neural network, or another suitable artificial intelligence agent) trained using one or more known data sets such that it can perform statistical or probability-based pattern matching on unknown future data sets. For example, in certain embodiments, the signature-based temperature model 196 may include a Bayesian network that is trained using the determined correlations between the occupant temperature preferences, occupant activities, and/or model inputs 200. As discussed below, after generating and/or training the signature-based temperature model 196, the a processor (e.g., the one or more processors 182 of the thermostat service 180 or the processor 112 of the thermostat 16) may implement the signature-based temperature model 196, which may determine a temperature setpoint for the HVAC system 10 in response to future inputs, namely future measures from the occupant activity data 192 and/or future values from the model inputs 200.

In other embodiments, the signature-based temperature model 196 may include a collection of instructions (e.g., a program or module) that defines a set of signature-based temperature setpoints, each having an associated temperature that represents a statistical distribution of the temperatures associated with the temperature setpoints 176 of the temperature setpoint schedule 170. Further, in such an embodiment, each signature-based temperature setpoint may be associated with at least one threshold value for each measure of occupancy activity data 192 and/or each of the one or more model inputs 200 determined by the processor (e.g., the one or more processors 182 of the thermostat service 180 or the processor 112 of the thermostat 16). For example, the threshold values associated with each signature-based temperature setpoint may define a target value, a lower limit, or an upper limit for each measure of occupancy activity data 192 and/or each of the one or more model inputs 200. Further, in such embodiments, the threshold values associated with each signature-based temperature setpoint may be determined based on a statistical analysis or probability distribution of which values from the occupancy activity data 192 and/or which values from the one or more model inputs 200 tended to result in a user preference of a temperature at or near the temperature associated with the signature-based temperature setpoint. Accordingly, when a signature-based temperature program is implemented (as discussed below with respect to FIG. 11) using such an embodiment of a signature-based temperature model 196, when the processor determines that a current measure of occupant activity from the occupant activity data 192 and/or determines that a current value for the one or more model inputs 200 meets or exceeds the threshold values associated with a signature-based temperature setpoint, the processor may implement the signature-based temperature setpoint in response.

In other embodiments, the signature-based temperature model 196 may include a collection of temperature curves (e.g., graphs, equations, sets of points, look-up tables, or other suitable data representations), wherein each temperature curve describes user temperature preferences relative to a particular measure of occupancy activity data 192 or a particular model input 200. That is, in such embodiments, each temperature curve of the signature-based temperature model 196 may be generated based on a statistical analysis or probability distribution of which temperatures users tend to prefer as the particular input (e.g., the value of the particular measure of occupancy activity data 192 or the value of the particular model input 200) is varied over a range of potential values. Further, in such embodiments, each temperature curve in the collection may be assigned a weight depending on the particular measure of occupancy activity data 192 or the particular model input 200 described by the temperature curve, and this weight may dictate how the temperature outputs of each temperature curve may be combined to determine a single temperature setpoint for the processor 112 of the thermostat 16 to actually implement. For example, based on user input when the signature-based temperature model is generated or implemented, the processor (e.g., the one or more processors 182 of the thermostat service 180 or the processor 112 of the thermostat 16) may assign a relative weight to each of the temperature curves in the collection. For such embodiments, when the signature-based temperature program is implemented on the thermostat 16 based on this signature-based temperature model 196, the processor 112 may process each of the temperature curves in the collection, determining from each temperature curve a temperature preference output that corresponds to the value of the particular measure of occupancy activity data 192 or the value of the particular model input 200 described by the temperature curve. Then, for such an embodiment, the processor 112 may first determine the products of (e.g., multiply) the temperature preference output of each temperature curve and the respectively weight assigned to each temperature curve. The processor 112 may then sum these products to determine a single temperature value, which may be implemented by the thermostat 16 as a currently desired temperature setpoint.

With the foregoing in mind, FIG. 8 illustrates an embodiment of a process 240 whereby a processor (e.g., the processor 112 of the thermostat 16) may locally construct a signature-based temperature model 196 from an existing temperature setpoint schedule. The illustrated process 240 begins with the processor 112 receiving (block 242) user input (e.g., from input devices 118) requesting the generation of a signature-based temperature model from a temperature setpoint schedule 170 (e.g., generated according to the process 150 of FIG. 4) having a plurality of temperature setpoints 176. Additionally, in certain embodiments, the user may also select or indicate inputs for the processor 112 to consider when constructing the signature-based temperature model 196. For example, in certain embodiments, the user may indicate that the processor 112 should consider all, none, or particular portions of the occupant activity data 192 (e.g., number of occupants) when constructing the signature-based temperature model 196. By further example, in certain embodiments, the user may indicate that the processor 112 should consider all, none, or particular model inputs 200 (e.g., weather conditions 208, utility power rates 214, and stock market prices 220) when constructing the signature-based temperature model 196.

The illustrated embodiment of the process 240 continues with the processor 112 determining (block 244) occupant activity data 192 at or near times associated with the temperature setpoints 176 of the temperature setpoint schedule 170. That is, the processor 112 of the thermostat 16 may retrieve from the memory 114 stored occupant activity data 192 that is based on the measurements of one or more sensors (e.g., sensors 12 and/or 112) and/or one or more data inputs 110 associated with the thermostat 16. Further, the processor 112 may determine particular occupant activity data 192 (e.g., number of occupants) from the memory 114 specifically at or near the times respectively associated with each of the plurality of temperature setpoints 176 of the temperature setpoint schedule 170. It may be appreciated that, in certain embodiments, the processor 112 may not consider occupant activity data when constructing signature-based temperature model 196, and, accordingly, block 244 may be skipped altogether.

Next, the illustrated embodiment of the process 240 continues with the processor 112 determining (block 246) values for one or more model inputs 200 at or near times associated with temperature setpoints 176 of the temperature setpoint schedule 170. That is, the processor 112 of the thermostat 16 may utilize communication circuitry 116 to request and receive data from an online resource 124 (e.g., a weather or emergency alert website, a utility provider website, a stock market data feed) to determine values for the one or more model inputs 200. Additionally, the processor 112 may determine particular values for the model inputs (e.g., weather alerts) from the online resources 124 specifically at or near times respectively associated with each of the plurality of temperature setpoints 176 of the temperature setpoint schedule 170 and/or specifically at or near the location of the structure 10 in which the thermostat 16 resides. It may be appreciated that, in certain embodiments, the processor 112 may not consider model inputs 200 when constructing signature-based temperature model 196, and, accordingly, block 246 may be skipped altogether.

Continuing through the illustrated embodiment of the process 240, the processor 112 may then correlate (block 248) the temperature setpoints 176 of the temperature setpoint schedule 170 with the determined occupancy activity data (e.g., from block 244) and/or the determined values for the one or more model inputs 200 (e.g., from block 246). That is, the processor 112 may respectively correlate a temperature of each temperature setpoint 176 with occupancy activity data 192 and/or values determined for the one or more model inputs 200 at or near the time associated with the temperature setpoint 176. In other words, the thermostat 16 may determine a connection between the temperature associated with a temperature setpoint 176 and particular occupant activities or activity levels (e.g., described by the occupant activity data 192 collected by the thermostat 16 at or near the time of the temperature setpoint 176) and/or particular events or conditions (e.g., described by the values of the one or more model inputs 200 at or near the time of the temperature setpoint 176).

Then, in the illustrated embodiment of the process 240, the processor 112 may construct (block 250) the signature-based temperature model 196 using the correlated data from block 248. For example, as described above, in certain embodiments, the processor 112 may construct the signature-based temperature model 196 by generating a machine-learning agent that is trained using the correlations that the processor 112 determined between each of the temperature setpoints 176 (e.g., the time and the temperature associated with each of the temperature setpoints 176) and the values determined for the occupancy activity data 192 and/or values determined for the one or more model inputs 200. In other embodiments, as discussed above, the processor 112 may implement the signature-based temperature model 196 in the form of a set of instructions (e.g., software module) that define signature-based temperature setpoints having assigned threshold values for the occupancy activity data 192 and/or the one or more model inputs 200 that are based on the correlated data from block 248. In still other embodiments, as discussed above, the processor 112 may construct the signature-based temperature model 196 in the form of a number of weighted temperature curves (e.g., one for each measure of the occupant activity data 192 and each of the one or more model inputs 200) based on the correlated data from block 248.

As set forth above with respect to FIG. 7, in certain embodiments, the thermostat data 188 used to generate the signature-based temperature model 196 may be collected from a plurality of thermostats 16. With this in mind, FIG. 9 illustrates a process 260 whereby a processor (e.g., the one or more processors 182 of the thermostat service 180) may construct a number of signature-based temperature models using the thermostat data 188 collected from multiple thermostats 16. The process 260 illustrated in FIG. 9 begins with the processor receiving and storing (block 262) a set of thermostat data 188 from each of a plurality of thermostats 16. Further, as illustrated in FIG. 9, in certain embodiments, the set of thermostat data 188 collected from each thermostat 16 includes classification data 194, temperature program data 190, and occupant activity data 192. It may be appreciated that, in other embodiments, the sets of thermostat data 188 may not include classification data 194 and/or occupant activity data 192, as discussed below.

Continuing through the process 260 illustrated in FIG. 9, within each set of received thermostat data 188, the processor may determine (block 264) values of occupant activity data 192 collected at or near times associated with the temperature program data 190 (e.g., at or near times associated with temperature setpoints 176 of the temperature setpoint schedule 170). It may be appreciated that, in certain embodiments, the processor may not receive occupant activity data 192 (e.g., in block 262), and, in such embodiments, block 266 may be skipped altogether.

Next in the illustrated embodiment of the process 260, the processor may determine (block 266) values for one or more model inputs 200 at or near times associated with the temperature program data 190 (e.g., temperature program data 190 from all of the received sets of thermostat data 188). That is, the processor 112 of the thermostat 16 may utilize communication circuitry 116 to request and receive data from an online resource 124 (e.g., a weather or emergency alert website, a utility provider website, a stock market data feed) to determine values for the one or more model inputs 200 at or near times associated with the temperature setpoints 176 of the temperature program data 190 from all of the received sets of thermostat data 188.

Continuing through the process 260, the processor may then correlate (block 268) the temperature setpoints 176 of the temperature program data 190 from all of the received sets of thermostat data 188 with the determined values of occupant activity data 192 (e.g., in block 264) and/or the determined values of the one or more model inputs 200 (e.g., in block 266). That is, the processor may respectively correlate a temperature associated with each received temperature setpoint 176 with the values of the occupancy activity data 192 and/or the values of the one or more model inputs 200 at or near the time associated with the temperature setpoint 176. In other words, the processor may determine a connection between the temperature associated with each temperature setpoint 176 and particular occupant activities or activity levels (e.g., described by the occupant activity data 192 collected by the plurality of thermostats 16 at or near the time associated with the temperature setpoint 176) and/or particular events or conditions (e.g., described by the values of the one or more model inputs at or near the time associated with the temperature setpoint 176).

Then, in the illustrated embodiment of the process 260, the processor may construct (block 270) one or more signature-based temperature models 196 using the correlated data from block 268. For example, as described above, in certain embodiments, the processor may construct the signature-based temperature model 196 by generating a machine-learning agent that is trained using the correlations that the processor determined between each of the temperature setpoints 176 (e.g., the time and the temperature associated with each of the temperature setpoints 176) and the values determined for the occupancy activity data 192 and/or the values determined for the one or more model inputs 200. In other embodiments, as discussed above, the processor may generate the signature-based temperature model 196 in the form of a set of instructions (e.g., software module) that define signature-based temperature setpoints having assigned threshold values that are based on the correlated data from block 268. In still other embodiments, as discussed above, the processor may construct the signature-based temperature model 196 in the form of a number of weighted temperature curves (e.g., one for each measure of the occupant activity data 192 and each of the one or more model inputs 200) based on the correlated data from block 268.

It may be appreciated that, in certain embodiments, the process 260 may include an additional grouping step. For example, before correlating the data in block 268, in certain embodiments, the processor (e.g., the one or more processors 182 of the thermostat service 180) may use at least a portion of the classification data received with each set of thermostat data 188 to divide the received sets of thermostat data 188 into groups. For example, in certain embodiments, the processor may use one or more pieces of classification data 194, such as location of the structure 10, model of thermostat 16, type of structure 10, type of HVAC system 20, temperature profile of the structure 10, or occupant information, to group the received sets of thermostat data 188. It may be appreciated that this additional grouping step may enable the processor to construct multiple signature-based temperature models 196 in block 270 (e.g., one for each group of the received sets of thermostat data 188), wherein each temperature signature-based temperature model 196 is generated or constructed based on a particular group of the received sets of thermostat data 188 and, therefore, may be better tuned to the temperature preferences of that particular group. For example, the processor may construct may construct more specialized signature-based temperature model 196 for a particular locations or geographic regions (e.g., San Francisco Bay Area, East Texas, New York City, a particular community), for particular types of structures (e.g., one-, two-, or three-story residential structures), for particular types of occupants (e.g., elderly, college-aged, family with kids, high-income level, mid-level income level), and so forth.

Accordingly, after completion of the process 240 of FIG. 8 or the process 260 of FIG. 9, at least one signature-based temperature model 196 may be constructed to be used by the processor 112 of the thermostat 16 to implement the signature-based temperature program. In certain embodiments, for example, after completion of the process 240 of FIG. 8, the processor 112 of the thermostat 16 may store the locally generated signature-based temperature model 196 in the memory 114 for later implementation. By further example, in certain embodiments, after completion of the process 260 of FIG. 9, one or more signature-based temperature models 196 may be generated and stored in the one or more memories 184 of the thermostat service 180. For such embodiments, the processor 112 of the thermostat 16 may contact the thermostat service 180 to request and receive one of the generated signature-based temperature models 196. Further, for embodiments in which the thermostat service 180 may generate several signature-based temperature models 196 based on different grouping of received thermostat data 188 (as discussed above), the thermostat 16 may include one or more pieces of the classification data 194 in the request for the signature-based temperature model 196, such that the thermostat service 180 may provide the thermostat 16 with the most appropriate (e.g., most suitable) signature-based temperature model 196. After receiving the signature-based temperature model 196, the processor 112 of the thermostat 16 may store the signature-based temperature model 196 in the memory 114 for later implementation.

With the foregoing in mind, FIG. 10 illustrates an embodiment of a process 280 whereby the processor 112 of the thermostat 16 may implement a signature-based temperature program according to a signature-based temperature model 196, as opposed to a temperature setpoint schedule 170 (e.g., a time-based temperature program) discussed above with respect to FIG. 5. That is, while the signature-based temperature model 196 may be constructed based on the temperature preferences gleaned from one or more temperature setpoint schedules 170, as discussed above, the signature-based temperature program selects an appropriate temperature to implement without relying on a time-based temperature setpoint schedule 170. The illustrated process 280 starts with the processor 112 of the thermostat 16 beginning (block 282) implementation of the signature-based temperature program using the generated or a received signature-based temperature model 196. That is, the processor 112 may execute a number of instructions stored in the memory 114, wherein the instructions are configured to output a temperature setpoint in response to one or more inputs.

Accordingly, for the process 280 illustrated in FIG. 10, the processor 112 may next determine values for the one or more inputs to feed into the signature-based temperature model 196. For example, the processor 112 may determine (block 284) current values for the one or more model inputs 200 used or considered by the signature-based temperature model 196 from one or more data resources or online services. That is, the processor 112 of the thermostat 16 may utilize communication circuitry 116 to request and receive data from an online resource 124 (e.g., a weather or emergency alert website, a utility provider website, a stock market data feed) to determine current values for the one or more model inputs 200. The processor 112 may also determine (block 286) current occupant activity data 192 from sensors and/or other data inputs associated with the thermostat 16. That is, the processor 112 of the thermostat 16 may retrieve from the memory 114 current occupant activity data 192 based on current measurements of one or more sensors (e.g., sensors 12 and/or 112) and/or one or more data inputs 110.

Then, continuing through the process 280 illustrated in FIG. 10, the thermostat 16 may provide the inputs determined in blocks 284 and 286 to signature-based temperature model 196 to determine a temperature setpoint output. That is, the processor 112 may determine (block 288) a temperature setpoint from the signature-based temperature model 196 using the current occupant activity (e.g., from block 286) and/or the current values for the one or more model inputs 200 (e.g., from block 284). Subsequently, the processor 112 of the thermostat 16 may implement (block 290) the temperature setpoint determined in block 288. As indicated by the arrow 292, at some point after implementing a temperature setpoint according to the output of the signature-based temperature model 196, the processor 112 may repeat the blocks 284, 286, 288, and 290. In certain embodiments, the processor 112 may repeat the blocks 284, 286, 288, and 290 at regular intervals (e.g., every 5 min, 15 min, 30 min, 1 hour, 2 hours, etc.) or based on a received indication that the current occupant activity and/or current values of the one or more model inputs have changed by a particular amount (e.g., beyond a threshold value). At some point during the execution of blocks 284, 286, 288, and 290 the processor 112 may end (block 294) implementation of the signature-based temperature program, for example, in response to user input.

It may be appreciated that, in certain embodiments, during implementation of the signature-based temperature program, as illustrated in FIG. 10, the signature-based temperature model 196 may be further tuned and refined as a result of occupant input. For example, in an embodiment, an occupant may install a new thermostat 16, and desire to utilize a signature-based temperature program rather than have the thermostat 16 learn the temperature preferences of the occupant using the learning mode presented in FIG. 4. As such, in certain embodiments, the occupant may answer a questionnaire regarding his or her age, sex, race, weight, location, size of structure, location of the structure, a ranking of which model inputs 200 tend to have stronger effects on the occupant's temperature preferences, and so forth. A processor (e.g., the processor 112 of the thermostat 16 and/or the processor 182 of the thermostat service 180) may receive these answers and may generate or select a suitable signature-based temperature model 196 based on the occupant's answers, and this signature-based temperature model 196 may be used by the thermostat 16 to implement the signature-based temperature program. However, since the signature-based temperature model 196 is based on correlations and trends between typical occupant temperature preferences and historical values of the model inputs 200 and/or historical occupant activity data, a particular temperature setpoint implemented by the thermostat 16 in response to current occupant activity data 188 and/or current values for the model inputs 200 may not be in accordance with the exact temperature preferences of a particular occupant.

For example, in an embodiment, the current values of one or more weather/emergency model inputs 202 may be provided to the signature-based temperature model 196 as input, and these current values may be indicative of a coming winter storm. As such, the output of the signature-based temperature model 196 may indicate that the structure 10 should be warmed in advance of the coming storm. However, a particularly warm-natured occupant, for example, may not desire to maintain a warmer temperature in the structure 10 in advance of the storm, despite the output of the signature-based temperature model 196. As such, the occupant may interact with the thermostat 16 to request a cooler temperature than the output of the signature-based temperature model 196 dictates, which may be referred to herein as an “exception” to signature-based temperature program.

In response to such an exception, the thermostat 16 may, in certain embodiments, respond by suspending the signature-based temperature program for a period of time (e.g., 5 min, 10 min, 1 hour, 2 hours) in which the temperature requested by the occupant (i.e., the exception temperature) is implemented, and then resuming implementation of the signature-based temperature program thereafter. In certain embodiments, the thermostat 16 may, additionally or alternatively, respond by adjusting the signature-based temperature model 196 so that the exception temperature becomes the output of the model whenever the values of the model inputs 200 (e.g., the one or more weather/emergency model inputs 202) that resulted in the exception are provided as input at a later time. That is, the signature-based temperature model 196 may be retrained or reprogrammed such that the pattern of values of the model inputs 200 and/or occupant activity data 192 that previously resulted in an exception, subsequently results in implementing the exception temperature. By specific example, in certain embodiments, the signature-based temperature model 196 may be adjusted by altering one or more stored functions of the signature-based temperature model 196 such that the values for the model inputs 200 that resulted in the exception are instead correlated with the exception temperature. By further example, in certain embodiments, processor may adjust the relative weight of one or more the functions of the signature-based temperature model 196 to provide, as output, the exception temperature. By still further example, in certain embodiments, the thermostat 16 may contact the thermostat service 180 to request a new signature-based temperature model 196, which may be generated or selected based on the current signature-based temperature model 196 used by the thermostat 16, the values of the model inputs 200 and/or occupant activity data 192 that resulted in the exception, the exception temperature, the exception time, or a combination thereof. Accordingly, the signature-based temperature model 196 may gradually become better tuned to the temperature preferences of the occupant.

While only certain features and embodiments of the invention have been illustrated and described, many modifications and changes may occur to those skilled in the art (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters (e.g., temperatures, pressures, etc.), mounting arrangements, use of materials, colors, orientations, etc.) without materially departing from the novel teachings and advantages of the subject matter recited in the claims. The order or sequence of any process or method steps may be varied or re-sequenced according to alternative embodiments. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention. Furthermore, in an effort to provide a concise description of the exemplary embodiments, all features of an actual implementation may not have been described (i.e., those unrelated to the presently contemplated best mode of carrying out the invention, or those unrelated to enabling the claimed invention). It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation specific decisions may be made. Such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure, without undue experimentation. 

1. A system, comprising: a thermostat that controls a heating, ventilation, and cooling (HVAC) system of a structure in accordance with a signature-based temperature program, wherein the thermostat comprises: one or more sensors configured to collect occupant activity data; a network interface configured to communicate with at least one online resource; a memory configured to store a signature-based temperature model; a processor configured to: determine, via the network interface, a current value of at least one model input from at least one online resource; determine, via the one or more sensors, a current measure of occupant activity from the occupant activity data; determine a temperature to implement from an output of the signature-based temperature model, wherein the current value of the at least one model input and the current measure of occupant activity are provided as inputs to the signature-based temperature model; and provide control signals to the HVAC system to implement the determined temperature.
 2. The system of claim 1, wherein the one or more sensors comprise thermal sensors, motion sensors, light sensors, electromagnetic sensors, sound sensors, vibration sensors, gas sensors, or combinations thereof.
 3. The system of claim 1, wherein the at least one online resource comprises a thermostat service, a weather website or datafeed, an emergency website or datafeed, an utility website or datafeed, a stock exchange website or datafeed, or a combination thereof.
 4. The system of claim 1, wherein the network interface is configured to receive the signature-based temperature model from an online thermostat service and store the signature-based temperature model in the memory of the thermostat.
 5. The system of claim 4, wherein the processor is configured to select the signature-based temperature model from a plurality of signature-based temperature models hosted by the online thermostat service based on classification data stored in the memory of the thermostat.
 6. The system of claim 5 wherein the classification data comprises information regarding the structure, the thermostat, the HVAC system, one or more occupants of the structure, or a combination thereof.
 7. The system of claim 1, wherein the at least one model input comprises weather data, emergency data, closure notification data, utility data, economic data, traffic data, transportation data, or a combination thereof.
 8. The system of claim 1, wherein the occupant activity data comprises a number of occupants in the structure, a location of the occupants in the structure, an air quality and composition measurements in the structure, an activity level of the occupants of the structure, a level of network traffic on a network of the structure, or a combination thereof.
 9. The system of claim 1, wherein the signature-based temperature model is constructed, at least in part, by correlating in time historical temperature preferences from one or more temperature setpoint schedules with historical values of the at least one model input, historical measures of occupant activity, or a combination thereof.
 10. The system of claim 1, wherein the thermostat is configured to not control the HVAC system according to a time-based temperature program.
 11. The system of claim 1, wherein current time is not one of the at least one model inputs provided as inputs to the signature-based temperature model to determine the temperature to implement.
 12. The system of claim 1, wherein the system comprises one or more additional sensors that are not disposed in a housing of the thermostat but are communicatively coupled to the processor of the thermostat, wherein the one or more additional sensors are also configured to collect occupant activity data.
 13. A method, comprising: receiving thermostat data collected by one or more thermostats respectively controlling a heating, ventilation, and cooling (HVAC) system of one or more structures, wherein the thermostat data comprises plurality of temperature setpoints, and wherein each temperature setpoint is associated with a time and a temperature; for each temperature setpoint of the plurality of temperature setpoints: determining historical values for one or more model inputs, wherein the historical values occur at or near the time associated with the temperature setpoint, and determining correlations between the historical values of the one or more model inputs and the temperature associated with the temperature setpoint; and constructing at least one signature-based temperature model based, at least in part, on the correlations.
 14. The method of claim 13, wherein the thermostat data comprises occupant activity data, and wherein the occupant activity data comprises a number of occupants in the one or more structures, a location of occupants in the one or more structures, air quality and composition measurements of the one or more structures, an activity level of the occupants in the one or more structures, a level of network traffic on a network of the one or more structures, or a combination thereof.
 15. The method of claim 14, comprising: for each temperature setpoint of the plurality of temperature setpoints: determining a piece of historical occupant activity data collected at or near a time associated with the temperature setpoint, and determining additional correlations between the piece of historical occupant data and the temperature associated with the temperature setpoint; and constructing the at least one signature-based temperature model based, at least in part, on the additional correlations.
 16. The method of claim 13, wherein the one or more model inputs comprise weather data, and wherein the weather data comprises humidity data, outdoor temperature data, seasonal data, air quality data, sunlight level data, precipitation data, or a combination thereof.
 17. The method of claim 13, wherein the one or more model inputs comprise emergency data, and wherein the emergency data comprises volcanic activity warnings, wild fire warnings, blizzard warnings, hurricane warnings, tornado warnings, flash flood warnings, earthquake warnings, or a combination thereof.
 18. The method of claim 13, wherein the one or more model inputs comprise closure notification data, and wherein the closure notification data comprises closure notifications for schools, offices, roads, bridges, cities, or a combination thereof.
 19. The method of claim 13, wherein the one or more model inputs comprise utility data, and wherein the utility data comprises power rates, capacity of a utility network, load of the utility network, peak power rates, peak power times, or a combination thereof.
 20. The method of claim 13, wherein the one or more model inputs comprise economic data, and wherein the economic data comprises a price of a particular stock or commodity, a performance measure of a market or an exchange, a consumer confidence index, a consumer price index, a volatility index, an unemployment rate, or a combination thereof.
 21. The method of claim 13, wherein the one or more model inputs comprise traffic data, and wherein the traffic data comprises locations and durations of traffic jams, traffic accidents, road construction, detours, road hazards, or a combination thereof.
 22. The method of claim 13, wherein the one or more model inputs comprise transportation data, and wherein the transportation data comprises public transportation schedules and routes, airport schedules, or a combination thereof.
 23. The method of claim 13, wherein the thermostat data comprises classification data.
 24. The method of claim 23, wherein the classification data comprises a location of the one or more structures, a model of the one or more thermostats, a number of the one or more thermostats in each of the one or more structures, a type of the HVAC system of the one or more structures, a temperature profile of the one or more structures, or a combination thereof.
 25. The method of claim 23, wherein the classification data comprises a total number of occupants of the one or more structures, ages of the occupants of the one or more structures, genders of the occupants of the one or more structures, ethnicities of the occupants of the one or more structures, group affiliations of the occupants of the one or more structures, income range of the occupants of the one or more structures, or a combination thereof.
 26. The method of claim 23, comprising dividing the plurality of temperature setpoints into groups based on the classification data; and wherein constructing the at least one signature-based temperature model comprises constructing a different signature-based temperature model for each group.
 27. A system, comprising: a memory storing occupant activity data and a plurality of temperature setpoints of one or more temperature setpoint schedules; a processor configured to: determine a value of a model input that occurred at or near a time associated with a particular temperature setpoint of the plurality of temperature setpoints, determine a piece of the occupant activity data that occurred at or near the time of the particular temperature setpoint, and determine a correlation between the value of the model input, the piece of the occupant activity data, and a temperature associated with the particular temperature setpoint; and construct a portion of a signature-based temperature model based on the determined correlation.
 28. The system of claim 27, wherein the processor is configured to determine the value of the model input from one or more respective online resources via a network connection.
 29. The system of claim 27, wherein the processor is configured to construct the portion of a signature-based by training an artificial intelligence agent using the determined correlation.
 30. The system of claim 27, wherein the correlation comprises a probability that the value of the model input and the portion of the occupant activity data will result in the temperature associated with the particular temperature setpoint being implemented.
 31. The system of claim 27, wherein the portion of the signature-based temperature model comprises a function configured to: receive a current value of the model input, receive a current piece of the occupant activity data, and output a temperature value using the determined correlation.
 32. The system of claim 31, wherein the portion of the signature-based temperature model has an associated weight, and wherein the processor is configured to multiply the temperature value output by the portion of the signature-based temperature model by the associated weight when implementing a signature-based temperature program based on the signature-based temperature model.
 33. The system of claim 27, wherein the system is a thermostat service configured to receive the plurality of temperature setpoints and the occupant activity data from one or more thermostats.
 34. The system of claim 33, wherein the processor is configured to send the signature-based temperature model to the one or more thermostats to implement a signature-based temperature program based on the signature-based temperature model.
 35. The system of claim 27, wherein the model input comprises weather data, emergency data, closure notification data, utility data, economic data, traffic data, or transportation data.
 36. The system of claim 27, wherein the system is a thermostat controlling a heating, ventilation, and cooling (HVAC) system.
 37. The system of claim 36, wherein the processor is configured to implement at least the portion of the signature-based temperature model to control the HVAC system.
 38. The system of claim 36, wherein the system comprises one or more sensors communicatively coupled to the processor, wherein the one or more sensors are configured to collect the occupant activity data for storage in the memory.
 39. The system of claim 38, wherein the one or more sensors comprise thermal sensors, motion sensors, light sensors, electromagnetic sensors, sound sensors, vibration sensors, gas sensors, or combinations thereof. 